Until recently, computing devices typically employed electromechanical storage devices (e.g. hard drives) for nonvolatile (NV) data storage (e.g., operating system, applications, data, etc.). The limitations of electromechanical hard drives wherein magnetic platters are spun by a motor and read by a moving head are readily apparent. Electromechanical hard drives are prone to mechanical fatigue, damage from jostling, drops, etc., include electromechanical motors and actuators that consume substantial amounts of power, etc. These limitations have led to the development of solid state drive (SSD) technology wherein data is stored in NV memory (e.g., NAND Flash memory) instead of magnetic media. SSDs are fully electronic, and thus, have no moving parts. SSDs have many benefits over electromechanical hard drives due, at least in part, to a lack of any moving parts. A lack of moving parts means that data can be written and read from SSDs faster than electromechanical hard drives. However, these apparent benefits do not come without some challenges that are different from electromechanical hard drives. For example, the SSD lifetime may be based on an amount of write activity to the NV memory in the SSD. Memory locations in NV memory in the SSD may experience a certain amount of write cycles (e.g., about 3000 to 5000 write cycles) before becoming unreliable. This can be problematic for certain types of data that is written to NV memory repeatedly. To avoid this problem, wear-leveling may be performed to move data within the NV memory in the SSD so that a particular memory location does not experience an inordinate amount of activity.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.